# 第三块：可视化

import open3d as o3d
import numpy as np

ply_point_cloud = o3d.data.PLYPointCloud()
pcd = o3d.io.read_point_cloud(ply_point_cloud.path)

# 仅仅实现可视化 可以直接调用 visualization 模块下的 draw_geometries() 函数
# o3d.visualization.draw_geometries([pcd])

# 在实际的显示下，我们发现它是倒立的
# 可以通过调整函数的参数的方式来调整初始的显示视角
# draw_geometries() 的在例子里的参数如下：
# zoom : 缩放程度 ＞0 缩小 ＜0 放大
# front : 相机的前后视角
# lookat : 聚焦点
# up : 上下方向
# 直接浏览
# o3d.visualization.draw_geometries([pcd])
# 自定义视角
o3d.visualization.draw_geometries(
    [pcd],
    zoom = 0.3412,           
    front=[0.4257, -0.2125, -0.8795],  
    lookat=[2.6172, 2.0475, 1.532],   
    up=[-0.0694, -0.9768, 0.2024]      
)
